1. Field of the Invention
The field of the invention relates generally to computer systems and more specifically to the use of a graphics processing unit for cryptographic processing.
2. Description of the Related Art
The continued proliferation of the Internet and the continued expansion of electronic commerce have increased the need for solutions that provide secure transactions and data exchanges in a fast, inexpensive manner.
An online shopping service that manages millions of online purchase transactions on a daily basis requires such a solution. In a typical online purchase transaction, secure sockets layer (SSL) is used as the protocol for exchanging transaction information between the purchaser and the online shopping service. The SSL protocol provides very good security but its key exchange and authentication component requires computationally expensive operations. An example of such operations known in the art is the RSA public key system using key lengths of up to 2048 bits. As a result, administering the SSL protocol has become a substantial computational burden on servers that perform secure transactions.
Also, financial institutions that exchange a large amount (e.g., terabytes) of data over unsecured networks like the Internet require secure data transport methods that are also fast and inexpensive, because the standard methods for bulk encryption and decryption, such as DES, 3DES, and AES, are computationally very expensive.
One conventional encryption/decryption implementation uses a general purpose microprocessor to perform all aspects of the encryption/decryption operation, including the large number of multiply operations required to perform RSA based key exchange and authentication. Although this implementation has the advantage that it can be performed using a conventional microprocessor without any additional specialized hardware, this solution has the disadvantage that it may suffer from poor performance due to the low multiplication throughput of the microprocessor.
Another conventional implementation uses a dedicated encryption/decryption hardware card to provide specialized logic for performing the described multiplication algorithm. This hardware card typically includes additional multiplication logic for performing each component of the multiplication algorithm more quickly than a general purpose microprocessor. However, this solution has the disadvantage that such hardware cards are very expensive.